Флаги:
O D I T S Z A P C 0 0
Команда:
INT interrupt-num
Логика :
PUSHF ;загрузка регистра FLAGS в стек TF = 0 ;сброс разряда трассировки IF = 0 ;запрещаем прерывания CALL FAR (INT*4) ;вызываем обработчик прерываний
Команда INT загружает регистр FLAGS в стек, сбрасывает признаки трассировки и разрешения прерывания, загружает CS и IP в стек, затем передает управление обработчику прерываний, который определяется по значению операнда interrupt-num. Если обработчик прерываний производит возврат по команде IRET, то исходное значение регистра FLAGS восстанавливается.
Операнды | Такт байты (слова) | Обращения | Байты | Пример |
непоср.8 (тип=3) | 52 | 5 | 1 | INT 3 |
непоср.8 (тип<>3) | 51 | 5 | 2 | INT 21 |
Примечания :
Регистр FLAGS хранится в том же формате, который используется в команде PUSHF. Адрес вектора прерывания определяется умножением операнда interrupt-num на 4. Первое слово, находящееся по полученному адресу, загружается в IP, а второе слово - в CS. Все номера interrupt-num, кроме типа 3, вырабатывают двухбайтовый код операции; interrupt-num, равный 3, вырабатывает однобайтовую команду, называемую прерыванием по контрольной точке (Breakpoint interrupt).